package com.dream.system.service;

import java.util.Map;

import net.sf.json.JSONArray;

import com.dream.model.SysUser;
import com.dream.model.Sys_Class;
import com.dream.model.Sys_ClassPlantMaster;
import com.dream.model.Sys_LearnPlant;
import com.dream.model.Sys_TestPaper;
@SuppressWarnings("all")
public interface ISys_LearnPlant {

	/**
	 * 增加一个备课管理
	 * @param model
	 * @param arrclass
	 * @param arrlable
	 * @return
	 */
	Sys_LearnPlant addSys_LearnPlant(Sys_LearnPlant model, String arrclass,
			String arrlable);

	/**
	 * 查询所有备课树
	 * @param model
	 * @return
	 */
	@SuppressWarnings("all")
	Map getSys_LearnPlant(Sys_LearnPlant model,SysUser sysUser);
	/**
	 * 按第一级目录的ID，查询他以下的所有标签 
	 * @param model
	 * @return
	 */
	@SuppressWarnings("all")
	Map getAllLableByPltype1(Sys_LearnPlant model);

	/**
	 * 删除一个备课
	 * @param model
	 * @return
	 */
	int deletelearnPlant(Sys_LearnPlant model);
	/**
	 * 查询本级有多少标签
	 * @param model
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	Map getLearnPlantLable(Sys_LearnPlant model);
	/**
	 * 查询本级有多少个班级
	 * @param model
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	Map getLearnPlantClass(Sys_LearnPlant model);
	/**
	 * 更新当前备课
	 * @param model
	 * @param arrclass
	 * @param arrlable
	 * @return
	 */
	Sys_LearnPlant updateSys_LearnPlant(Sys_LearnPlant model, String arrclass, String arrlable);

	/**
	 * 查询自己下一级所有的标签
	 * @param model
	 * @return
	 */
	@SuppressWarnings("all")
	JSONArray getLearnPlantChildren(Sys_LearnPlant model);
	/**
	 * 删除下一级
	 * @param map
	 * @return
	 */
	int deletelearnPlantChildren(Sys_LearnPlant map);
    /**
     * 查询当前这个节点下的所有环节 ,自己的环节
     * @param model
     * @return
     */
	Map getAlllearnPlantBy4(Sys_LearnPlant model,SysUser sysUser);
	
	/**
	 * 
	 * 环节和课程关联
	 * @param model
	 * @return
	 */
	int updateLearnPlantHomeWork(Sys_LearnPlant model);
	/**
	 * 
	 *  得到当前登录人，需要上的下一堂课
	 * @param sysUser
	 * @return
	 */
	Map getClassBegin(SysUser sysUser);
	/**
	 * 
	 * 
	 * 发放作业
	 * @param sysUser
	 * @return
	 */
	int updatePlantHomeWork(Sys_LearnPlant sys_LearnPlant,Sys_Class sc);
	/**
	 * 
	 * 完成上课
	 * @param model
	 * @param sc
	 * @return
	 */
	int updatePlantMasterClose(Sys_LearnPlant model, Sys_Class sc,SysUser sysUser);
	/**
	 * 
	 * 
	 * 查询这节课在哪个课表上，在课排 表的关联当
	 * @param model
	 * @return
	 */
	Sys_ClassPlantMaster getLearnPlant_masterPlant(Sys_LearnPlant model);
	
	Sys_TestPaper getLearnPlant_HomeWork(Sys_LearnPlant model);
	/**
	 * 查询卷中的题
	 * @param model
	 * @return
	 */
	JSONArray getBeikeJuan(Sys_LearnPlant model);
	/**
	 * 查询一级备课
	 * @param model
	 * @return
	 */
	Sys_LearnPlant getSys_LearnPlantById(Sys_LearnPlant model);

}
